//
//  VRWelcomeViewController.swift
//  Sina_MicoBlog
//
//  Created by Lee on 16/5/14.
//  Copyright © 2016年 Lee.C. All rights reserved.
//现在是需要做这个欢迎界面,所以,为了测试方便,先把appDelegate里面的rootViewController改成这个先.
//然后这里有的空间是背景图片,一个头像,一个label,我们先把这3个先懒加载了,然后在viewDidload的方法中加入,然后约束,这里是用第三方的约束了.
//  这里需要注意的是***当设置图片的时候我们给他赋值图片,,label赋值文字和大小,头像也是,所以说,多属性的时候是需要用闭包式的.闭包式记得后面加括号,然后抽取一个方法,,将三个控件都添加到这个view中,然后在viewDidLoad调用.
//因为示例代码的头像是原型的,所以要减一个原型给他.设置圆角,在layer层里面设置.在之前,是需要设置maskTobound的为true的,现在不用了.
//然后设置约束了,在设置约束之前,需要导入第三方的框架的头文件(练习第三方的用法)
//设置完最基本的时候,我们是需要设置动画了,注意弹簧效果的动画又不同了注意弹簧效果动画的属性.
//当弹簧效果过完以后就会调用completion里面的方法*****注意,在这里,动画的实现,是要在viewDidAppear方法中实现的,实现是需要注意调用父类的方法.****
//为什么呢,因为当你在viewDidLoad实现的时候,因为处理的速度超快,所以动画是先覆盖了原先的约束,所以他会从左上角出来的,所以需要在viewDidAppear中调用,页面已经出现的时候调用,这样就不会覆盖.

import UIKit
import SnapKit

class VRWelcomeViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()

        prepareUI()
        
    }
    override func viewDidAppear(animated: Bool) {
        super.viewDidAppear(animated)
        animationUI()
    }
    
    
 //MARK: - 设置动画
    private func animationUI (){
    UIView.animateWithDuration(1, delay: 0.1, usingSpringWithDamping: 0.5, initialSpringVelocity: 5, options: UIViewAnimationOptions(rawValue: 0), animations: { () -> Void in
        self.iconView.snp_makeConstraints(closure: { (make) -> Void in
            make.bottom.equalTo(self.view).offset(-(UIScreen.mainScreen().bounds.height - 160))
        })
        self.view.layoutIfNeeded()
        }) { (_) -> Void in
            UIView.animateWithDuration(1, animations: { () -> Void in
                self.welcomeLabel.alpha = 1
            })
        }
    
    
    
    }
    
//MARK: - 准备方法
    private func prepareUI (){
        //添加到view上
        view.addSubview(backgroundViewImage)
        view.addSubview(iconView)
        view.addSubview(welcomeLabel)
    
        //设置约束
        //背景
      backgroundViewImage.snp_makeConstraints { (make) -> Void in
        make.edges.equalTo(self.view)
        }
        //头像
        iconView.snp_makeConstraints { (make) -> Void in
            make.centerX.equalTo(self.view)
            make.bottom.equalTo(self.view).offset(-160)
        }
        
        welcomeLabel.snp_makeConstraints { (make) -> Void in
            make.centerX.equalTo(iconView)
            make.top.equalTo(iconView.snp_bottom).offset(16)
        }
    }
    
    
    
 //MARK: - 懒加载
   private lazy var backgroundViewImage: UIImageView = {
    
    let bgImage = UIImageView(image:UIImage(named: "ad_background"))
        bgImage.sizeToFit()
        return bgImage
    
    }()
  private  lazy var welcomeLabel: UILabel = {
    
    let label = UILabel()
        label.text = "欢迎回来"
    label.tintColor = UIColor.blackColor()
    label.font = UIFont.systemFontOfSize(15)
    label.sizeToFit()
    label.alpha = 0
    return label
    }()
    
    private lazy var iconView: UIImageView = {
        var image = UIImageView()
     image = UIImageView(image: UIImage(named: "avatar_default_big"))
        //设置圆角
        image.layer.cornerRadius = 42.5
        //可有可无
        image.layer.masksToBounds = true
        return image
    }()
}
